﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CLVisionLightControlTS
{
    public abstract class AbstractLightDevice
    {
        // 光源品牌枚举
        public enum LightBrand
        {
            RS,
            CST
        }
        // 初始化，连接光源
        public abstract bool Init(string IP, int iPort, out uint DataSocket, out int ErrorCode, out string ErrorText, out bool Occurred);
        // 释放，断开光源
        public abstract bool DeInit(uint DataSocket, out int ErrorCode, out string ErrorText, out bool Occurred);
        // 设置触发模式
        public abstract bool TriggerMode(uint DataSocket, int Mode, out int ErrorCode, out string ErrorText, out bool Occurred);
        // 打开光源
        public abstract bool OpenLight(uint DataSocket, int[] LightData, int LightTime, out int ErrorCode, out string ErrorText, out bool Occurred);
        // 关闭光源
        public abstract bool CloseLight(uint DataSocket, int LightTime, out int ErrorCode, out string ErrorText, out bool Occurred);
        // 在线/离线模式
        public abstract bool OfflineOrOnline(uint DataSocket, bool offlineOrOnline, out int ErrorCode, out string ErrorText, out bool Occurred);


    }
}
